package Roteamento;

/**
 * Classe que representa um enlace entre dois roteadores
 * @author David, Iury, Milena
 *
 */
public class Enlace {

        private String roteadorId1;
        private String roteadorId2;
        private int custo;

        /**
         * Cria um novo enlace
         * @param roteadorId1 id do roteador da ponta 1
         * @param roteadorId2 id do roteador da ponta 2
         * @param custo do enlace
         */
        public Enlace(String roteadorId1, String roteadorId2, int custo) {
                this.roteadorId1 = roteadorId1;
                this.roteadorId2 = roteadorId2;
                this.custo = custo;
        }

        /** Retorna o roteador da ponta 1
         * @return o id do roteador da ponta 1
         */
        public String getRoteadorId1() {
                return roteadorId1;
        }

        /** Retorna o roteador da ponta 2
         * @return o id do roteador da ponta 2
         */
        public String getRoteadorId2() {
                return roteadorId2;
        }

        /** Retorna o custo do enlace
         * @return custo do enlace do rotador 1 para o roteador 2
         */
        public int getCusto() {
                return custo;
        }

        /**
         * Retorna o id do vizinho do roteador dado, neste enlace
         * @param roteadorId id do roteador que tenho
         * @return id do roteador vizinho
         */
        public String getVizinhoId(String roteadorId) {
                if(roteadorId1.equals(roteadorId)){
                        return roteadorId2;
                }
                if(roteadorId2.equals(roteadorId)){
                        return roteadorId1;
                }
                return null;
        }

		/**
		 * Verifica se um roteador com o dado id pertence a esse enlace.
		 * @param roteador id do roteador em questão
		 * @return true se o roteador pertece e false caso contrário.
		 */
		public boolean containsRoteador(String roteador) {
			return roteadorId1.equals(roteador) || roteadorId2.equals(roteador);
		}

}
